<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ES6增加了Symbol新的原始类型</title>
</head>
<body>

<p>ES6 引入了一种新的原始数据类型 Symbol ，表示独一无二的值，最大的用法是用来定义对象的唯一属性名。</p>

<p>ES6 数据类型除了 Number 、 String 、 Boolean 、 Object、 null 和 undefined ，还新增了 Symbol 。</p>

<p>由于每一个 Symbol 的值都是不相等的，所以 Symbol 作为对象的属性名，可以保证属性不重名。</p>

<p>使用 Symbol 定义常量，这样就可以保证这一组常量的值都不相等。</p>
<script>
    let str1 = String("HelloWorld");
    let str2 = String("HelloWorld");
    console.log(str1 == str2);  //结果：true
    console.log(str1 === str2); //结果：true 三个等号是值和指针全相等

    let s1 = Symbol("mySymbol");
    let s2 = Symbol("mySymbol");
    console.log(typeof s1);     //结果：symbol
    console.log(s1.toString()); //结果：Symbol(mySymbol)
    console.log(s1 == s2);      //结果：false
    console.log(s1 === s2);     //结果：false
</script>
</body>
</html>
